
// 1:直接使用Vue.component注册
// import UploadImg from '@/components/lib/uploadImg.vue'
// import Vue from 'vue'
// Vue.component('UploadImg', UploadImg)
// 2：Vue.use方法注册
//  Vue.use(对象)调用了导入的对象内的install方法
/*
Vue.use({
   install(Vue){
    ....
   }
})
*/
// import UploadImg from '@/components/lib/uploadImg.vue'
// export default {
//   install(Vue) {
//     Vue.component('UploadImg', UploadImg)
//   }
// }

//  Vue.use(方法)调用了导入的方法
// import UploadImg from '@/components/lib/uploadImg.vue'
// export default function(Vue, options) {
// //   console.log('options:', options)
//   console.log(UploadImg)
//   Vue.component(UploadImg.name, UploadImg)
// }

/*
  说一下你对Vue.use的了解
   Vue.use称为：插件注册，核心就是对插件传入Vue
   Vue.use(对象,xxx实参)  对象内有一个install(Vue,xxx){.....  在Vue的原型挂载，全局注册组件等和Vue有关操作   }
   Vue.use(方法,xxx实参)  直接会调用相应方法  function(Vue,xxx实参){..... 在Vue的原型挂载，全局注册组件等和Vue有关操作}
*/
// 3：全自动注册组件
// const req=require.context('路径',是否读取子文件夹,文件匹配)：自动读取某路径下的文件
export default function(Vue) {
  const req = require.context('./', true, /\.vue$/)
  // req是一个方法  req.keys() 拿到所有读取的文件路径
  req.keys().forEach(path => {
  // req(路径)实现组件的导入，类似于import (import不支持变量写法)
    const com = req(path).default
    Vue.component(com.name, com)
    // console.log(com)
  })
}

